/*
 * TipoCaso.java
 * Copyright 2010 Universidad Francisco de Paula Santander (UFPS).
 * Todos los Derechos Reservados.
 * Creado el 18/04/2010, 09:10:51 PM
 */

package com.ufps.cuatro.util;

import java.io.Serializable;

/**
 * <i><b>TipoCaso:</b></i>Casos de Representación de las Propiedades del Mundo.
 * @author Carlos A. Torres C. - Dolly E. Guerrero. <https://code.google.com/p/tesis4dor/>
 * @version 1.0 18/04/2010
 * @see Serializable
 */
public enum TipoCaso implements Serializable{
    /**
     * Tipo No Definido Generalmente es un Error.
     */
    eIndefinido,
    /**
     * Tipo Primitivo Registrado en el Archivo de Propiedades.
     */
    ePrimitivo,    
    /**
     * Objeto Java (JDK) Registrado en el Archivo de Propiedades.
     */
    eJDKRegistrado,    
    /**
     * Es una Enumeracion.
     */
    eEnumeracion,    
    /**
     * Clase perteneciente al Mundo Analizado.
     */
    eClaseMundo,
    /**
     * Es un Array.
     */
    eArray,
    /**
     * Objeto Java (JDK) No Registrado en el Archivo de Propiedades.
     */
    eJDKNoRegistrado,    
    /**
     * Es un Tipo de Collection Ej: Vector, ArrayList, etc.
     * @deprecated Este Caso ha sido reestructurado e incluido en el Caso <code>eJDKRegistrado</code>
     */
    eCollection
    ;

    @Override
    public String toString() {
        try{
            if(this == TipoCaso.eArray)
                return "Array";        
            else if(this == TipoCaso.eClaseMundo)
                return "Clase Mundo";
            else if(this == TipoCaso.eCollection)
                return "Contenedor";
            else if(this == TipoCaso.eEnumeracion)
                return "Enumeración";
            else if(this == TipoCaso.eJDKNoRegistrado)
                return "JDK No Registrado";
            else if(this == TipoCaso.eJDKRegistrado)
                return "JDK Registrado";
            else if(this == TipoCaso.ePrimitivo)
                return "Primitivo";
            return super.toString();
        }catch(java.lang.Exception ex){}
        return null;
    }
   
}
